草庐IT

git pull --rebase

全部标签

git - 我只是通过不正确地使用 git rebase 破坏了我的工作吗

这个问题在这里已经有了答案:Undoingagitrebase(19个回答)关闭8年前。我执行了以下行:gitrebase-idev--ontomaster我认为这会剪切我的开发分支并将其粘贴到我的主分支之上。而-i会让我折叠变更集。但是当它调出编辑器时,我没有看到任何变更集。我只看到“noop”。所以我只是退出了它。然后我查看我的git历史记录,我所有的更改都消失了。我的dev分支与我的master所在的位置相同!有人可以帮我恢复吗?谢谢!

git - 如何在跳过特定提交时 rebase ?

有没有一种方法可以将一个分支rebase到另一个分支,同时跳过另一个分支上的特定(冲突)提交?例如,我想将mybranchrebase到master上,但是master包含一个与master中的提交冲突的提交,所以我更愿意完全撤消该提交.-o-o-o-o-o-x-o-o-o-omaster|o-o-o-omybranchx标记冲突提交。 最佳答案 使用交互式rebase:gitrebase-imaster将打开一个编辑器,您将看到这样的提交列表:pickb8f7c25Fix1pick273b0bbFix2pick6aaea1bFix

git - 如何在跳过特定提交时 rebase ?

有没有一种方法可以将一个分支rebase到另一个分支,同时跳过另一个分支上的特定(冲突)提交?例如,我想将mybranchrebase到master上,但是master包含一个与master中的提交冲突的提交,所以我更愿意完全撤消该提交.-o-o-o-o-o-x-o-o-o-omaster|o-o-o-omybranchx标记冲突提交。 最佳答案 使用交互式rebase:gitrebase-imaster将打开一个编辑器,您将看到这样的提交列表:pickb8f7c25Fix1pick273b0bbFix2pick6aaea1bFix

eclipse - Egit - 现在无法 checkout - 卡在 rebase 状态

几天前我问了一个类似的问题,但没有得到有用的答案,所以我想让一切都更精确。我在github上有一个大项目作为私有(private)仓库。我和我的一个friend目前正在研究它。我将整个repo导入到本地存储库和eclipse中,一切正常,直到出现merge冲突。每次,我都会遇到merge冲突(例如,当我在处理常用类之前忘记pull时),我的eclipse工作区中的整个项目都会切换到“Rebasew/merge”状态:现在,如果出现merge冲突,我就会得到分数。所以我用merge工具打开了要merge的类,编辑了我必须更改的所有内容,然后再次将类添加到索引中。接下来,我提交了所有mer

eclipse - Egit - 现在无法 checkout - 卡在 rebase 状态

几天前我问了一个类似的问题,但没有得到有用的答案,所以我想让一切都更精确。我在github上有一个大项目作为私有(private)仓库。我和我的一个friend目前正在研究它。我将整个repo导入到本地存储库和eclipse中,一切正常,直到出现merge冲突。每次,我都会遇到merge冲突(例如,当我在处理常用类之前忘记pull时),我的eclipse工作区中的整个项目都会切换到“Rebasew/merge”状态:现在,如果出现merge冲突,我就会得到分数。所以我用merge工具打开了要merge的类,编辑了我必须更改的所有内容,然后再次将类添加到索引中。接下来,我提交了所有mer

git rebase 到远程更新

我与一个使用git进行源代码管理的小团队合作。最近,我们一直在做主题分支来跟踪功能,然后将它们merge到本地的master中,然后将它们推送到远程服务器上的中央git存储库。当没有在master中进行任何更改时,这非常有效:我创建我的主题分支,提交它,将它merge到master,然后推送。万岁。但是,如果有人在我之前推送到origin,我的提交就不会快进。因此,merge提交随之而来。当主题分支需要在本地与mastermerge以确保我的更改适用于现在的代码时,也会发生这种情况。所以,我们最终得到了无处不在的merge提交和一个与友谊手镯相媲美的git日志。因此,rebase是显而

git rebase 到远程更新

我与一个使用git进行源代码管理的小团队合作。最近,我们一直在做主题分支来跟踪功能,然后将它们merge到本地的master中,然后将它们推送到远程服务器上的中央git存储库。当没有在master中进行任何更改时,这非常有效:我创建我的主题分支,提交它,将它merge到master,然后推送。万岁。但是,如果有人在我之前推送到origin,我的提交就不会快进。因此,merge提交随之而来。当主题分支需要在本地与mastermerge以确保我的更改适用于现在的代码时,也会发生这种情况。所以,我们最终得到了无处不在的merge提交和一个与友谊手镯相媲美的git日志。因此,rebase是显而

git - merge 提交不会出现在 git rebase --interactive

gitlog显示以下内容:commit1abcd[...]Author:[...]Date:[...][Usefulcommit]commit2abcd[...]Author:[...]Date:[...]Mergebranch[...]of[etc.etc.]commit3abcd[...]Author:[...]Date:[...][Usefulcommit]那个merge提交对我来说没用——它不代表分支的有意义的状态并且是从远程pull生成的,所以我有远程历史的真实提交——不需要提交来标记事实我pull的。我想压缩这个merge提交。我常用的Squash技术是:gitrebase

git - merge 提交不会出现在 git rebase --interactive

gitlog显示以下内容:commit1abcd[...]Author:[...]Date:[...][Usefulcommit]commit2abcd[...]Author:[...]Date:[...]Mergebranch[...]of[etc.etc.]commit3abcd[...]Author:[...]Date:[...][Usefulcommit]那个merge提交对我来说没用——它不代表分支的有意义的状态并且是从远程pull生成的,所以我有远程历史的真实提交——不需要提交来标记事实我pull的。我想压缩这个merge提交。我常用的Squash技术是:gitrebase

git - 如何使用 rebase 而不是 merge 来 pull 所有远程更改?

我可以使用gitpullpull更改,但它会merge我的本地提交。是否有一个gitrebase等价物,我可以用它来进行远程更改? 最佳答案 是的,你可以gitpull--rebase。当您使用gitconfigbranch.autosetuprebasealways跟踪分支时,您也可以将其设置为默认pull行为。如果您想对您正在跟踪的那些特定类型的分支机构执行此操作,请将“始终”替换为“远程”或“本地”。现在您所要做的就是gitpull。如果出于某种原因你想进行merge,你可以执行gitpull--no-rebase。希望这对您